package com.hedl.classroom.service;

import com.hedl.classroom.base.model.PageResult;
import com.hedl.classroom.dto.MyCourseTableParams;
import com.hedl.classroom.dto.XcChooseCourseDto;
import com.hedl.classroom.dto.XcCourseTablesDto;
import com.hedl.classroom.model.po.CoursePublish;
import com.hedl.classroom.po.XcChooseCourse;
import com.hedl.classroom.po.XcCourseTables;

/**
 * @author Big Watermelon
 * @description 选课相关的接口
 * @date 2023/12/16/14:37
 */
public interface MyCourseTablesService {

    /**
     * 添加选课
     * @param userId 用户id
     * @param courseId 课程id
     * @return
     */
    XcChooseCourseDto addChooseCourse(String userId,Long courseId);

    /**
     * 判断学习资格
     * @param userId
     * @param courseId
     * @return
     */
    XcCourseTablesDto getLearningStatus(String userId,Long courseId);

    /**
     * 添加免费课程，免费课程加入选课记录表，我的课程表
     * @param userId
     * @param coursePublish
     * @return
     */
    XcChooseCourse addFreeCourse(String userId, CoursePublish coursePublish);

    /**
     * 添加到我的课程表
     * @param xcChooseCourse
     * @return
     */
    XcCourseTables addCourseTables(XcChooseCourse xcChooseCourse);

    /**
     * 我的课程表
     * @param params
     * @return
     */
    PageResult<XcCourseTables> mycourseTables(MyCourseTableParams params);
}
